Non-blocking Writes to Files
نویسندگان
چکیده
Writing data to a page not present in the file-system page cache causes the operating system to synchronously fetch the page into memory first. Synchronous page fetch defines both policy (when) and mechanism (how), and always blocks the writing process. Non-blocking writes eliminate such blocking by buffering the written data elsewhere in memory and unblocking the writing process immediately. Subsequent reads to the updated page locations are also made non-blocking. This new handling of writes to non-cached pages allow processes to overlap more computation with I/O and improves page fetch I/O throughput by increasing fetch parallelism. Our empirical evaluation demonstrates the potential of nonblocking writes in improving the overall performance of systems with no loss of performance when workloads cannot benefit from it. Across the Filebench write workloads, non-blocking writes improve benchmark throughput by 7X on average (up to 45.4X) when using disk drives and by 2.1X on average (up to 4.2X) when using SSDs. For the SPECsfs2008 benchmark, non-blocking writes decrease overall average latency of NFS operations between 3.5% and 70% and average write latency between 65% and 79%. When replaying the MobiBench file system traces, non-blocking writes decrease average operation latency by 20-60%.
منابع مشابه
Truly Non-blocking Writes
Writing data within user or operating system memory often encounters the classic read-before-write problem whereby the page written to must first be read from the backing store, effectively blocking the writing process before modifications are made. Unfortunately, the large gap between memory and storage access performance adversely affects workloads that require substantial readbefore-write op...
متن کاملThe Neutral Message Language: A Model and Method for Message Passing in Heterogeneous Environments
To achieve efficient communication between distributed real-time processes, it is desirable to both choose the best protocol for each communication path and limit variation to improve software portability. These divergent goals can be satisfied through the use of a uniform application programming interface (API) that hides the details of specific protocols from programmers. The Neutral Message ...
متن کاملThe Zebra Striped
Zebra is a network file system that increases throughput by striping the file data across multiple servers. Rather than striping each file separately, Zebra forms all the new data from each client into a single stream, which it then stripes using an approach similar to a log-structured file system. Thm provides high performance for writes of small files as well as for reads and writes of large ...
متن کاملDataflow Architectures for GALS
In Kahn process network (KPN), the processes (nodes) communicate by unbounded unidirectional FIFO channels (arcs), with the property of non-blocking writes and blocking reads on the channels. KPN provides a semantic model of computation, where a computation can be expressed as a set of asynchronously communicating processes. However, the unbounded FIFO based asynchrony is not realizable in prac...
متن کاملParallel I/O for EQM Applications
As processing speeds increase, I/O is becoming a bottleneck for certain classes of applications. This is particularly true for applications that perform frequent check-pointing or frequently write out intermediate results. Traditional approaches to I/O typically result in poor performance. MPI-I/O simplifies programming and potentially improves performance by allowing the programmer to make a s...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2015